package org.reference.generic.information;

import java.util.ArrayList;

import org.reference.generic.base.Item;
import org.reference.generic.base.Parameter;
import org.reference.generic.operator.Node;
import org.reference.generic.operator.NodeFactory;
import org.reference.generic.work.Job;

/**
 * 
 */
public class Gene extends Item {

    /**
     * 
     */
    public Gene(Parameter[] parameters) {
    	setName("GENE");
    	rootNode = NodeFactory.getRandomNode(getParamValue(Parameter.TYPE_MAX_DEPTH, parameters),
    			getParamValue(Parameter.TYPE_DEPTH, parameters), getParamValue(Parameter.TYPE_ARITY, parameters));
    }
    
    /**
     * 
     */
   
   private Node rootNode;
   
    private int getParamValue(String key, Parameter[] parameters) {
    	for (Parameter parameter : parameters) {
    		if (parameter.getName().equalsIgnoreCase(key)) 
    			return Integer.valueOf(parameter.getValue());
    	}
    	return 0;
    }
    
    
}
		